SBTimbre Version 3.50 01-27-94 Copyright (c) 1992-1994 by Jamie O'Connell. All rights reserved. SBTimbre FM Editor SBTimbre is a Timbre editor -- it lets you create and modify instrument sounds for the Sound Blaster and Adlib FM Cards. You can audition sounds using a Sound Blaster or MPU-401 compatible MIDI interface and a MIDI controller (a piano keyboard for instance). The present version of SBTimbre operates only on IBK format bank files, but you can use the SBANK utility to convert between IBK and BNK file formats. Setting up SBTimbre Copy all the files to a directory (You may want to create another directory for your IBK bank files), change to the directory containing SBTIMBRE.EXE, and type: SBTIMBRE to load and start the program. If your FM Card is compatible with the original Adlib Sound Card, you should hear a chordal sequence as the About dialog box is displayed (the chordal sequence can be disabled if you'd rather not hear it -- see Configuring SBTimbre). General Information SBTimbre is a text based windowing program. You select options by pulling down menus with a mouse, or by using the cursor movement and function keys. The top line on the screen is known as the menu bar -- it contains drop down menus from which items can be selected. Any option that is followed by three dots indicates that a dialog box will be displayed when this item is chosen. The bottom line is called the status bar and contains it options which are generally available. You may select items from the status bar by either clicking on them or pressing the short-cut key associated with them. When the text of an item is grayed out it means the item is not currently available. Active Dialog box windows may be closed by clicking on the little box in the upper left corner of the dialog, selecting Window/Close, selecting Close from the status bar, or pressing Alt-F3. Configuring SBTimbre The first time you start SBTimbre, the configuration screen is automatically presented. After you adjust card specific parameters, and press the OK button, you are given an opportunity to save the current configuration. Once the SBTMB.INI file exists, the configuration screen is no longer presented at system startup. You may change certain program parameters at any time by selecting the Options/Configure... menu choice. The dialog box presented contains the following items: MIDI OPTIONS None No MIDI interface is installed. MPU-401 An MPU-401 compatible interface is installed. Sound Blaster A Sound Blaster MIDI connector Box is installed. MIDI IRQ The IRQ Number that the MIDI interface is installed on. MIDI I/O Port The Hexadecimal based number of the I/O port that the MIDI interface is using. FM CARD OPTIONS 1 OPL2 The card contains one Yamaha OPL2 chip. The early Adlib, Sound Blaster, and Thunderboard cards have this configuration. 2 OPL2 The card contains two Yamaha OPL2 chips. The original Sound Blaster PRO and early Media Vision cards have this configuration. 1 OPL3 The card contains one Yamaha OPL3 Chip. Most recent cards have this configuration. FM I/O Port The hexadecimal based number of the I/O port that the FM Card is using. All sound cards which are Adlib compatible can be addressed at 388 Hex. All Sound Blaster Pro cards can be addressed at 220 Hex or 240 Hex (it depends on the jumpers on the card). VIDEO OPTIONS 25 Lines Uses a 25 line standard text mode display. 43/50 Lines Will display 43 lines on an EGA monitor or 50 lines on a VGA monitor. About Box Unchecking this item will prevent the opening chordal sequence. There are several versions of Sound Blaster MIDI Interfaces. SBTimbre should operate with any of them with one caveat: Sound Blaster cards with DSP ROM versions earlier than 2.0 only support MIDI in -- not MIDI out or through. If you have one of these earlier ROMS, the Thru on and Out on choices will not be available from the Control Panel (described later). To setup the MIDI interface, select the type of card, the I/O port and the IRQ setting. If the interface is installed, the "[M]" symbol is displayed in the upper right corner of the Screen. By default, the FM I/O Port is set to 388 hex. This is because all Adlib compatible FM cards (including Sound Blaster) respond to this address. When changing the I/O port, choose the address of the actual FM chips -- this may be different from the card's base address (For instance, the factory base address of the original Sound Blaster is 220 hex, but the FM Chip is addressed at 228 hex -- check your User Manual for the card). The program will determine that it can not find an FM card at startup, but will not alert you to that fact upon changing the I/O Port address: you won't hear any sound though. You can verify this by opening the About box on the system menu -- if a card is found, a brief chordal sequence is sounded. The program supports 43/50 line modes on EGA and VGA graphics cards. The higher resolution allows a much less cluttered view when many IBK files are open at once. The current settings may be saved to an SBTMB.INI file by selecting Options/Save Setup. This file may be edited by hand, but is overwritten by selecting the Save option. The INI file is written in the same directory as SBTIMBRE.EXE. The amount of remaining memory is displayed in the About box -- you may want to monitor this if you have very many (60 or more) IBK files open at once. Opening Files IBK files are located via the File/Open... menu. You can double click on one to select and open it (for those without a rodent, you can use the cursor keys -- then press enter). The program prevents you from opening the same file twice -- this is to prevent loss of data involved when modifying two copies of the same file. You can open a copy of the same file, by first saving the file with a different name (using File/Save as...) and then reopening the original file. Once a file is opened, you will see a list of the instrument timbre names it contains. Import and Export Older, Adlib BNK files can be imported into IBK files by choosing File/Import BNK... If necessary, several IBK windows are opened to contain all of the BNK file. Instruments can also be imported from CMF music files and exported to CMF and SBI instrument files. Each CMF file contains the instrument parameters within the file. The number of instruments contained depends on the particular song. SBI files contain a single instrument timbre. Locating Files You can move to a different current directory using the File/Change Dir Menu selection, or you can navigate from the File/Open menu (by double clicking on the "\.." item). A new IBK file may be created by using the File/New option. When you create a new IBK, all the names are blank, and a default Piano instrument is stored in each Timbre slot. Saving Files IBK files can be saved either with the name they were opened with (File/Save), or with a new file name (File/Save as...). When saving New files a name is always requested. The Evaluation version of SBTimbre can only save to a file named EVALUATE.IBK: upon registration the restriction is removed. You can always exit SBTimbre and rename EVALUATE.IBK to another bank file name: the restriction is just a registration reminder, not a real crippling mechanism. Selecting Timbres You can open multiple IBK files at the same time. The current window and the current timbre are highlighted. If a MIDI interface is installed you may audition a timbre by simply highlighting its name in the IBK file window. Sounds can also be auditioned by pushing the chord buttons or pressing Play. Copying Timbres Timbres may be copied from one IBK to another, or within a single IBK. To accomplish this, select Copy from the Timbre menu, select Copy from the status bar, or hold the Ctrl key and press Insert: the timbre is inserted into the copy buffer. An indication of this is presented in the upper right corner of the screen: the word Paste: appears, followed by the timbre name. In order to paste the timbre, first select the target IBK and position, then either press Shift-Ins or choose Timbre/Paste from the menu: the timbre is immediately inserted into the target position. If a non- blank Timbre occupied the target position, it is moved into the Clipboard buffer. Clipboard The Clipboard buffer holds images of all copied timbres, as well as the before image of both modified and pasted timbres. Once the clipboard contains a timbre (evidenced by the word Paste: followed by the timbre name in the upper right corner of the screen), it may be opened for display and reordering (choose Timbre/Open Clipboard). There are several codes associated with clipboard items: Clipboard Code Meaning [C] The timbre was Copied to the Clipboard [B] The timbre is the Before image of an edited timbre [D] The timbre is the modified image of a Discarded edit timbre [P] The timbre is the before image of a Pasted timbre After the Clipboard is opened, the current (the next paste:) timbre may be changed by using the cursor keys or clicking on an item. The timbres in the Clipboard can be auditioned in the same fashion as those in the IBK windows. You can discard the current Clipboard timbre by pressing Delete. The entire Clipboard can be emptied by choosing Timbre/Clear Clipboard. Whenever the Clipboard becomes empty, the Clipboard window is closed, and becomes unavailable. Editing Timbres You may select timbres to edit by double clicking on the timbre name, or by selecting Timbre/Edit Timbre... The Edit dialog box is where all the different parameters that comprise an FM timbre are displayed and edited. All the numbered fields have Spin controls: clicking on the up arrow-head increases the value -- the down arrow-head decreases. You may also use the and keys to achieve the same effect. You may audition a tone at any time, from the computer keyboard, by pressing the short-cut key corresponding to the highlighted letter on the Note or Chordal buttons. In other words, press n to sound a note; m to sound a major chord. When the cursor is positioned in the Timbre Name field, you must use the Alt prefix (Alt-n to sound a note). The timbre may be altered by pressing the Randomize button. This button uses the current Random Configuration when changing the parameters. Editing Percussion You may edit any Timbre as a percussion instrument by selecting Timbre/Edit Percussion... There are five possible percussion base types: Bass Drum, Snare drum, Tom-tom, High-Hat and Cymbal. You can switch between any of the base types by pressing the appropriate button shown at the bottom of the screen. Only the Bass Drum sound uses 2 operators: the other drums sounds each use a single operator. When toggling between the various drum sound base types, only the operator in effect and associated parameters are displayed. The FM Sound chips automatically add white noise to certain drum sounds, and the percussion section instruments are turned on and off in a different fashion from melodic instruments. This is the chief reason why the drum sounds are different from melodic ones. We've added a new parameter to the IBK instrument definition for percussion sounds: Pitch. The parameter tells a driver the MIDI note number to sound for a given drum timbre. Once an instrument has been saved as a percussion instrument it will open as a percussion instrument the next time it is opened. You can override this behavior by specifically opening the Timbre/Edit Timbre.. menu option. Renaming Timbres You can rename the timbre by typing into the Timbre Name field, but it will replace the original timbre when you press OK. If you like your changes, but don't wish to overwrite the original timbre, you can press Cancel within the Edit dialog. Rather than completely discarding a canceled timbre, the editor saves it in the Clipboard buffer -- indicated in the upper right corner of the screen by the word Paste: followed by the timbre name. You may also rename a timbre by selecting Timbre/Rename... from the menu bar. You can use any characters to name a Timbre, but imbedding illegal DOS filename characters will prevent you from extracting INS and SBI files. The SBANK utility will remove embedded spaces when creating an INS or SBI file from an IBK bank. Randomizing Timbres Randomizing a timbre involves applying a random offset to each of the sound parameters, thus changing the sound by chance. The degree of randomness can be adjusted by choosing Options/Setup Randomize... Each value in that screen may be adjusted from zero (meaning don't randomize this parameter) to the maximum value for the parameter (meaning pick any old value). The best results seem to be when the offset values are fairly small, but you can be the judge of that. An entire IBK Bank can be randomized with one command by choosing Timbre/Randomize Bank... A dialog box is presented to confirm that's really what you want to do, but as long as you don't save the file, it's not permanent anyway (you have to close the file without saving to reverse the effect). A useful way to generate new timbres is to first open a new window and copy an interesting timbre to it. Next choose Timbre/Fill Bank... to spread the timbre throughout the window, and then randomize the Bank. You'll find that some of the results are useless, but others have distinct possibilities. Play Option The Play option is a unique feature in SBTimbre: when running, it generates melodies. For a nice description of 1/f music, as well as an algorithm for generating it, see "White, Brown, and Fractal Music." Martin Gardner, in Fractal Music, Hypercards and More... W. H. Freeman, 1992.. Rather than completely random, each successive note is related to the preceding one. To start it at any time, click on Play in the status bar or press F9 -- the word Play changes to Stop and the melody starts. To end it, click on Stop or press F9 again. You can perform any available SBTimbre action while Play is running -- this allows you to audition tones while editing, or auditioning different tones in the IBK list box. Play is also available from the Timbre menu, except when the editor is open. Control Panel The Control panel is primarily for adjusting MIDI and sound card options. To open it, select Options/Control Panel from the menu bar or press F8. Adjustments do not take effect until the Send button is pressed. The Volume option controls only the MIDI volume level sent to the FM Card, and not the Mixer levels available on the Sound Blaster Pro cards. To adjust Mixer levels, use the software supplied with your card. CONTROL PANEL FM Card Options Volume Controls the volume of sound sent to the FM Card Key Shift Transposes the incoming MIDI note a specified number of half-steps before sending to the card Bend Range Adjusts the MIDI bend range response of the FM Card by the specified number of half-steps Vibrato Toggles the overall Vibrato level between Light and Heavy. Tremolo Toggles the overall Tremolo level on the card between Light and Heavy. MIDI Options Play Channel Changes the MIDI channel that the Play option melodies are sent on. MIDI Note The number of the MIDI note for auditioning tones. Thru On Controls whether MIDI input is copied to MIDI output. When this item is checked, the "[MT]" symbol is displayed in the upper right corner of the screen. Out On Controls whether generated notes and melodies are sent to MIDI out Final Notes To use your IBK files with Twelve Tones Systems Cakewalk Sequencer, copy your IBK file to a file named ADLIB.IBK in the Cakewalk program directory -- it will automatically be loaded by the FM card driver when Cakewalk starts up. To use an IBK file with the FM Synth MIDI Windows driver, use the Browse button on the FM Synth Control Panel applet to select the IBK file. You can now load percussion IBK banks into FM Synth as well as melodic bank files. The FM Synth Driver is available via CompuServe: GO SSFORUM and download FMSYN.ZIP FM Card Parameters The FM cards supported by SBTimbre use two operators to produce a voice. Each operator is the equivalent of a primitive analog synthesizer, containing a sine wave oscillator, an envelope generator, and an amplifier. The operators can be combined to perform FM Synthesis or connected in parallel resulting in additive synthesis. During FM synthesis, one operator acts as a carrier while the other functions as a modulator. Modulating a carrier with an audio source causes a timbre change -- this is the core of FM synthesis. The degree of timbre change is chiefly a function of the tuning interval (or ratio) between the operator's frequency multiplier, and the depth of modulation (caused by the modulator output level). With additive synthesis, both operators function as carriers and their output summed to produced a single sound. Oscillator Each operator contains a sine wave oscillator. The frequency multiplier parameter (FreqMult) controls the base frequency. Each successive value increases the frequency by that number of octaves, except for the value 0, which actually results in a multiplier of 0.5, thus lowering the base frequency by an octave. The ratio of the frequency multipliers of the carrier and modulator controls the amount of sideband overtones generated. These overtones add to the complexity of the sound. The modulator can have a portion of the output signal returned to the input (FB), which further increases wave complexity. In addition, the wave form select parameter (WaveForm) provides varying degrees of sine wave distortion -- a value of 0 results in a pure sine wave. Applying low frequency pitch modulation (Vibrato) causes a pitch wavering effect. Envelope Generator Any instrument, real or synthesized, has a characteristic sound envelope that describes how quickly the sound attains peak output (Attack), how quickly it descends to a sustain level (Decay), and how quickly the sound fades after a note is released (Release). For sustaining sounds, the level (Sustain) is maintained as long as a note is held down, for momentary sounds the sustain level determines the point at which the decay rate changes to the release rate. The keyboard rate scaling parameter (Envelope Scale) causes higher notes to have a shorter envelope, which is a common occurrence with real instruments. Amplifier While the ADSR envelope controls the rate of change in the operator amplifier, the output level (Level) controls the overall output of the amplifier. For an operator acting as a carrier, the output level functions as a volume control; for modulators, the output level controls the depth of modulation. The keyboard level scaling parameter (KSL) causes a gradual reduction in output for higher notes. Low frequency amplitude modulation (Tremolo) may be applied to the signal to obtain a volume wavering effect. PARAMETER LIST Attack the rate of the sound's initial onset. Value: 0 - 15 Decay the rate at which the initial attack fades. Value: 0 - 15 Sustain the level at which the sound sustains. Value: 0 - 15 Release the rate that the sound fades after a note is released. Value: 0 - 15 Envelope Scale if checked, higher notes have shorter envelopes. Sustain Sound if checked, a note sustains as long as it is held. FreqMult the frequency multiplier applied to the base frequency. Value: 0 = 0.5, 1 - 15 Level the overall output level for the operator. Value: 0 - 63 KSL the keyboard scaling level. Higher numbers cause more attenuation for higher notes. Value: 0 - 3 WaveForm the amount of distortion applied to the sine wave oscillator. Value: 0 - 7 Note: cards based on the OPL2 chip provide only 4 waveforms -- the upper 4 wave forms sound the same as the lower 4. Vibrato if checked, low frequency pitch modulation is applied Tremolo if checked, low frequency amplitude modulation is applied FB for modulator only: the amount of feedback returned to the operator input. Value: 0 - 7 FM - Addsyn a radio button that controls the operator connection: FM synthesis or Additive synthesis. DISCLAIMER This program is provided without any warranty, expressed or implied, including but not limited to fitness for a particular purpose.